home *** CD-ROM | disk | FTP | other *** search
-
- PTY(4) UNIX Programmer's Manual PTY(4)
-
- NNAAMMEE
- ppttyy - pseudo terminal driver
-
- SSYYNNOOPPSSIISS
- ppsseeuuddoo--ddeevviiccee ppttyy [_c_o_u_n_t]
-
- DDEESSCCRRIIPPTTIIOONN
- The pty driver provides support for a device-pair termed a _p_s_e_u_d_o
- _t_e_r_m_i_n_a_l. A pseudo terminal is a pair of character devices, a _m_a_s_t_e_r de-
- vice and a _s_l_a_v_e device. The slave device provides to a process an in-
- terface identical to that described in tty(4). However, whereas all oth-
- er devices which provide the interface described in tty(4) have a hard-
- ware device of some sort behind them, the slave device has, instead, an-
- other process manipulating it through the master half of the pseudo ter-
- minal. That is, anything written on the master device is given to the
- slave device as input and anything written on the slave device is pre-
- sented as input on the master device.
-
- In configuring, if an optional _c_o_u_n_t is given in the specification, that
- number of pseudo terminal pairs are configured; the default count is 32.
-
- The following ioctl(2) calls apply only to pseudo terminals:
-
- TIOCSTOP Stops output to a terminal (e.g. like typing `^S'). Takes no
- parameter.
-
- TIOCSTART Restarts output (stopped by TIOCSTOP or by typing `^S').
- Takes no parameter.
-
- TIOCPKT Enable/disable _p_a_c_k_e_t mode. Packet mode is enabled by speci-
- fying (by reference) a nonzero parameter and disabled by
- specifying (by reference) a zero parameter. When applied to
- the master side of a pseudo terminal, each subsequent read
- from the terminal will return data written on the slave part
- of the pseudo terminal preceded by a zero byte (symbolically
- defined as TIOCPKT_DATA), or a single byte reflecting control
- status information. In the latter case, the byte is an in-
- clusive-or of zero or more of the bits:
-
- TIOCPKT_FLUSHREAD whenever the read queue for the terminal
- is flushed.
-
- TIOCPKT_FLUSHWRITE whenever the write queue for the terminal
- is flushed.
-
- TIOCPKT_STOP whenever output to the terminal is
- stopped a la `^S'.
-
- TIOCPKT_START whenever output to the terminal is
- restarted.
-
- TIOCPKT_DOSTOP whenever _t___s_t_o_p_c is `^S' and _t___s_t_a_r_t_c is
- `^Q'.
-
- TIOCPKT_NOSTOP whenever the start and stop characters
- are not `^S/^Q'.
-
- While this mode is in use, the presence
- of control status information to be read
- from the master side may be detected by a
- select(2) for exceptional conditions.
-
-
- This mode is used by rlogin(1) and
- rlogind(8) to implement a remote-echoed,
- locally `^S/^Q' flow-controlled remote
- login with proper back-flushing of out-
- put; it can be used by other similar pro-
- grams.
-
- TIOCUCNTL Enable/disable a mode that allows a small number of simple
- user ioctl commands to be passed through the pseudo-terminal,
- using a protocol similar to that of TIOCPKT. The TIOCUCNTL
- and TIOCPKT modes are mutually exclusive. This mode is en-
- abled from the master side of a pseudo terminal by specifying
- (by reference) a nonzero parameter and disabled by specifying
- (by reference) a zero parameter. Each subsequent read from
- the master side will return data written on the slave part of
- the pseudo terminal preceded by a zero byte, or a single byte
- reflecting a user control operation on the slave side. A us-
- er control command consists of a special ioctl operation with
- no data; the command is given as UIOCCMD(n), where _n is a
- number in the range 1-255. The operation value _n will be re-
- ceived as a single byte on the next read from the master
- side. The ioctl UIOCCMD(0) is a no-op that may be used to
- probe for the existence of this facility. As with TIOCPKT
- mode, command operations may be detected with a select for
- exceptional conditions.
-
- TIOCREMOTE A mode for the master half of a pseudo terminal, independent
- of TIOCPKT. This mode causes input to the pseudo terminal to
- be flow controlled and not input edited (regardless of the
- terminal mode). Each write to the control terminal produces
- a record boundary for the process reading the terminal. In
- normal usage, a write of data is like the data typed as a
- line on the terminal; a write of 0 bytes is like typing an
- end-of-file character. TIOCREMOTE can be used when doing re-
- mote line editing in a window manager, or whenever flow con-
- trolled input is required.
-
- FFIILLEESS
- /dev/pty[p-r][0-9a-f] master pseudo terminals
- /dev/tty[p-r][0-9a-f] slave pseudo terminals
-
- DDIIAAGGNNOOSSTTIICCSS
- None.
-
- HHIISSTTOORRYY
- The ppttyy driver appeared in 4.2BSD.
-
- 4.2 Berkeley Distribution November 30, 1993 2
-